home *** CD-ROM | disk | FTP | other *** search
-
-
-
- NNNNMMMM((((1111)))) NNNNMMMM((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- nm - print name list of an object file(s)
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- nnnnmmmm [ ----bbbbddddeeeeffffgggghhhhllllnnnnoooopppprrrruuuuvvvvxxxxAAAABBBBCCCCTTTTVVVV ] [ files ]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _n_m command prints formatted listings of the symbol tables for each
- ELF _f_i_l_e specified. A _f_i_l_e can be a relocatable or absolute ELF object
- file, or it can be an archive.
-
- _n_m produces different output formats depending on options and the binary
- ABI. The differences are an attempt to preserve the operation of scripts
- that depend on nm. Anyone desiring consistent operation across different
- ABIs should use XPG4 format or Berkeley format.
-
- For old 32-bit-ABI objects the output format by default is the same as
- IRIX5.2 and 5.3 (something like AT&T System V Release 3 format).
-
- For new 32-bit-ABI objects the output format by is AT&T System V Release
- 4 format.
-
- For 64-bit objects the output format is by default in AT&T System V
- Release 4 format.
-
- If the environment variable _XPG is defined, _n_m operates in conformance
- with the X/Open XPG4 specifications (called XXXXPPPPGGGG4444 mmmmooooddddeeee in this document).
- The XPG4 mode format follows the XPG4 standards. In XPG4 mode _n_m output
- looks somewhat like nm -B (_B_e_r_k_e_l_e_y _s_t_y_l_e) _o_u_t_p_u_t.
-
- When Using AT&T System V Release 4 format the following information will
- be printed for each symbol (an alternative, Berkeley (4.3BSD) format, is
- described later in this document):
-
- IIIInnnnddddeeeexxxx The index of the symbol. (The index appears in brackets.)
-
- VVVVaaaalllluuuueeee The value of the symbol is one of the following: a section offset
- for defined symbols in a relocatable file; alignment constraints
- for symbols whose section index is SHN_COMMON; a virtual address
- in executable and dynamic library files.
-
- SSSSiiiizzzzeeee The size in bytes of the associated object.
-
- TTTTyyyyppppeeee A symbol is one of the following types: NNNNOOOOTTTTYYYYPPPPEEEE (no type was
- specified), OOOOBBBBJJJJEEEECCCCTTTT (a data object such as an array or variable),
- FFFFUUUUNNNNCCCC (a function or other executable code), SSSSEEEECCCCTTTTIIIIOOOONNNN (a section
- symbol), or FFFFIIIILLLLEEEE (name of the source file).
-
- BBBBiiiinnnndddd The symbol's binding attributes. LLLLOOOOCCCCAAAALLLL symbols have a scope
- limited to the object file containing their definition; GGGGLLLLOOOOBBBBAAAALLLL
- symbols are visible to all object files being combined; and WWWWEEEEAAAAKKKK
- symbols are essentially global symbols with a lower precedence
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- NNNNMMMM((((1111)))) NNNNMMMM((((1111))))
-
-
-
- than _GGGG_LLLL_OOOO_BBBB_AAAA_LLLL.
-
- OOOOtttthhhheeeerrrr A name scope indicator for (_r_l_d()). One of _DDDD_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT, _IIII_NNNN_TTTT_EEEE_RRRR_NNNN_AAAA_LLLL,
- _HHHH_IIII_DDDD_DDDD_EEEE_NNNN, _PPPP_RRRR_OOOO_TTTT_EEEE_CCCC_TTTT_EEEE_DDDD. (see STO_DEFAULT etc in <_s_y_s/_e_l_f._h>
-
- SSSShhhhnnnnddddxxxx Except for 3 special values, this is the section header table
- index in relation to which the symbol is defined. The following
- special values exist: AAAABBBBSSSS indicates the symbol's value will not
- change through relocation; CCCCOOOOMMMMMMMMOOOONNNN indicates an unallocated block
- and the value provides alignment constraints; and UUUUNNNNDDDDEEEEFFFF indicates
- an undefined symbol.
-
- NNNNaaaammmmeeee The name of the symbol.
-
- The _n_m command supports the options listed below. NNNNOOOOTTTTEEEE: The meaning of
- ----oooo depends on whether ----AAAA(AT&T) or ----BBBB is in effect when ----oooo is seen (the
- meaning depends on the relative ordering of the options). Examples:
-
- nm -Bo a.out
- nm -oB a.out
-
- In the first example oooo is given the ----BBBB meaning, while in the second, it
- is given the ----AAAA (default) meaning.
-
- ----AAAA Use AT&T System V Release 4 format output. This is the default
- for new 32-bit ABI objects and 64bit ABI objects. In XPG4 mode,
- -A means write the full pathname of an object on each line.
-
- ----BBBB Use Berkeley (4.3BSD) format output. Overrides XPG4 mode.
-
- ----bbbb Print the value field in octal.
-
- ----CCCC Print decoded C++ names.
-
- ----dddd Print the value field in decimal. This is the default value
- field radix for ----AAAA.
-
- ----eeee Print externals and statics only. This option applies to 32-bit
- objects only and is ignored for 64-bit objects.
-
- ----ffff Produce full output. (This option is obsolete and does nothing
- and will be removed in a future release).
-
- ----gggg Print only globally-visible names.
-
- ----hhhh Do not print headers.
-
- ----llll Adds to the type field displayed in ----pppp format by printing a '*'
- for weak names. Has no effect on other formats or on ----BBBB format.
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- NNNNMMMM((((1111)))) NNNNMMMM((((1111))))
-
-
-
- ----nnnn When used alone or with ----AAAA, sort symbols by name. By name is the
- default sort order for ----BBBB.
-
- When used with ----BBBB, sort all symbols by value.
-
- ----oooo When used alone or with ----AAAA, print the value field in octal.
-
- When used with ----BBBB, prepend the filename to output line. This is
- useful for _g_r_e_pping through _n_m of libraries.
-
- ----pppp Produce easily parsable, terse output.
-
- ----rrrr Prepend the name of the object file or archive to each output
- line (Berkeley or XPG style) or name (ATT or default style).
-
- ----uuuu Print only undefined symbols.
-
- ----vvvv Sort symbols by value.
-
- ----xxxx Print value field in hexadecimal. This is the default value
- field radix for ----BBBB.
-
- ----TTTT Only applies to the 32-bit output format. Truncate long names,
- inserting a `*' as the last printed character. (Since symbol
- names have been moved to the last column, the problem of overflow
- is removed and this option is no longer necessary.)
-
- ----VVVV Print version information on standard error.
-
- ----PPPP In XPG4 mode, write information in a portable output format
- according to the XPG standard.
-
- ----tttt ffffoooorrrrmmmmaaaatttt
- In XPG4 mode, write each numeric value in the specified format.
- The format should be one of the following:
- dddd The offset will be written in decimal.
- oooo The offset will be written in octal.
- xxxx The offset will be written in hexadecimal.
-
- NNNNMMMM ----BBBB FFFFOOOORRRRMMMMAAAATTTT
- For 32-bit objects _nnnn_mmmm _----_BBBB produces Berkeley output format with _a_d_d_r_e_s_s or
- _v_a_l_u_e field followed by a _l_e_t_t_e_r showing what section the symbol is in
- and the _n_a_m_e of the symbol. Followed, if the symbol is a weak symbol, by
- ((((wwwweeeeaaaakkkk)))).
-
- These section letters describe the information that _n_m generates:
-
- TTTT External text.
-
- tttt Local text.
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- NNNNMMMM((((1111)))) NNNNMMMM((((1111))))
-
-
-
- DDDD External initialized data.
-
- dddd Local initialized data.
-
- BBBB External zeroed data.
-
- bbbb Local zeroed data.
-
- AAAA External absolute.
-
- aaaa Local absolute.
-
- UUUU External undefined.
-
- GGGG External small initialized data.
-
- gggg Local small initialized data.
-
- IIII Init section (IRIX4 static shared library initialization
- code).
-
- SSSS External small zeroed data.
-
- ssss Local small zeroed data.
-
- RRRR External read only.
-
- rrrr Local read only.
-
- CCCC Common.
-
- EEEE Small common.
-
- The following section letters were frequently emitted by _n_m in earlier
- releases but are now rarely emitted.
-
- NNNN Nil storage class, compiler internal usage.
-
- VVVV External small undefined.
-
- bbbb Fortran based variable
-
- XXXX Exception data
-
- PPPP Procedure section (not a normal variable).
-
- FFFF Fini section.
-
- oooo Non GP data item (item not put in a small data area even
- though it may be small enough to fit).
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- NNNNMMMM((((1111)))) NNNNMMMM((((1111))))
-
-
-
- XXXXPPPPGGGG4444 mmmmooooddddeeee
- In XPG4 mode the format is specified by the XPG4 standard. The output is
- sorted alphabetically by symbol name. The following information is
- output:
-
- Object or library name, if -A is specified
-
- Name Symbol name
-
- Type Symbol type, which will be one of the following single
- characters (or one of the Berkeley format letters where
- non-conflicting with the following table).
- A Global absolute symbol
- a Local absolute symbol.
- B External zeroed data.
- b Local zeroed data.
- D Global data symbol.
- d Local data symbol.
- T Global text symbol.
- t Local text symbol.
- U Undefined symbol.
-
- Value The value of the symbol.
-
- Size The size of the symbol (0 if size not available).
-
- NNNNOOOOTTTTEEEESSSS
- In some previous releases the behavior of ----rrrrBBBB was very different from ----BBBBrrrr
- (in this case the 'r' did nothing). This did not appear to be
- intentional and was certainly undocumented. Now they both do the same
- thing.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- collide(1), elfdump(1), dwarfdump(1), stdump(1), odump(1), nlist(3e)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-